home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / debugger / ddd-1.000 / ddd-1 / ddd-1.4b / vsllib / arcs.vsl next >
Encoding:
Text File  |  1995-05-17  |  2.3 KB  |  70 lines

  1. // $Id: arcs.vsl,v 1.2 1995/05/17 13:39:39 zeller Exp $ -- Boegen-Bibliothek fuer VSL
  2. //
  3. // Dies ist die VSL-Bibliothek fuer Boegen, wie sie in
  4. // Andreas Zeller: "Schraegen und Boegen fuer VSL"
  5. // beschrieben ist.
  6. //
  7.  
  8. // Copyright (C) 1993 Technische Universitaet Braunschweig, Germany.
  9. // Written by Andreas Zeller (zeller@ips.cs.tu-bs.de).
  10. // 
  11. // This file is part of the NORA Library.
  12. // 
  13. // The NORA Library is free software; you can redistribute it and/or
  14. // modify it under the terms of the GNU Library General Public
  15. // License as published by the Free Software Foundation; either
  16. // version 2 of the License, or (at your option) any later version.
  17. // 
  18. // The NORA Library is distributed in the hope that it will be useful,
  19. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  21. // See the GNU Library General Public License for more details.
  22. // 
  23. // You should have received a copy of the GNU Library General Public
  24. // License along with the NORA Library -- see the file COPYING.LIB.
  25. // If not, write to the Free Software Foundation, Inc.,
  26. // 675 Mass Ave, Cambridge, MA 02139, USA.
  27. // 
  28. // NORA is an experimental inference-based software development
  29. // environment. Contact nora@ips.cs.tu-bs.de for details.
  30.  
  31. // Version
  32. arcs_version() = "$RCSfile: arcs.vsl,v $ $Revision: 1.2 $";
  33.  
  34. // Synonyme
  35. arcthickness() = rulethickness();
  36. arc(start, length) = arc(start, length, arcthickness());
  37.  
  38. // Makros
  39. // Boegen
  40. arc360() = arc(0, 360);
  41. arc180(start) = arc(start, 180);
  42. arc90(start) = arc(start, 90);
  43.  
  44. ne_arc90() = arc90(0);
  45. nw_arc90() = arc90(90);
  46. sw_arc90() = arc90(180);
  47. se_arc90() = arc90(270);
  48.  
  49. n_arc180() = arc180(0);
  50. w_arc180() = arc180(90);
  51. s_arc180() = arc180(180);
  52. e_arc180() = arc180(270);
  53.  
  54. // Ovale
  55. _ovalbody(box) = fix(hrule() | box | hrule());
  56. _oval(box) = 
  57.   fix(w_arc180() ^ (square(vspace(box) - 1) / box(2,1)))
  58. & box 
  59. & fix(e_arc180() ^ (square(vspace(box) - 1) / box(2,1)));
  60. oval(box) = _oval(_ovalbody(whiteframe(box)));
  61.  
  62. // Ellipsen
  63. ellipse() = arc360();
  64. _ellipse(box) = fix((space(box) * 2) ^ ellipse() ^ center(box));
  65. ellipse(box) = _ellipse(whiteframe(box, arcthickness() + whitethickness()));
  66.  
  67. // Kreise
  68. _circle(box) = fix(square(box) ^ ellipse() ^ center(box));
  69. circle(box) = _circle(whiteframe(box, arcthickness() + whitethickness()));
  70.